using System;
using System.ComponentModel.DataAnnotations;

namespace CR.Application.DTOs
{
    /// <summary>
    /// 溯源管理查询数据传输对象
    /// </summary>
    public class TraceabilityQueryDTO
    {
        /// <summary>
        /// 主键
        /// </summary>
        public int? Id { get; set; }

        /// <summary>
        /// 溯源管理编号
        /// </summary>
        public string? TraceabilityCode { get; set; }

        /// <summary>
        /// 商品名称
        /// </summary>
        public string? ProductName { get; set; }

        /// <summary>
        /// 生产批次开始日期
        /// </summary>
        public DateTime? ProductionBatchStart { get; set; }

        /// <summary>
        /// 生产批次结束日期
        /// </summary>
        public DateTime? ProductionBatchEnd { get; set; }

        /// <summary>
        /// 最小保质期(天)
        /// </summary>
        public int? ShelfLifeMin { get; set; }

        /// <summary>
        /// 最大保质期(天)
        /// </summary>
        public int? ShelfLifeMax { get; set; }

        /// <summary>
        /// 生产许可证号
        /// </summary>
        public string? ProductionLicenseNumber { get; set; }

        /// <summary>
        /// 生产企业
        /// </summary>
        public string? ProductionCompany { get; set; }

        /// <summary>
        /// 当前页码
        /// </summary>
        public int PageIndex { get; set; } = 1;

        /// <summary>
        /// 每页大小
        /// </summary>
        public int PageSize { get; set; } = 10;
    }
} 